home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 60 / IOPROG_60.ISO / soft / c++ / gsl-1.1.1-setup.exe / {app} / src / cblas / test_ger.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-04-18  |  6.8 KB  |  284 lines

  1. #include <gsl/gsl_test.h>
  2. #include <gsl/gsl_ieee_utils.h>
  3. #include <gsl/gsl_math.h>
  4. #include <gsl/gsl_cblas.h>
  5.  
  6. #include "tests.h"
  7.  
  8. void
  9. test_ger (void) {
  10. const double flteps = 1e-4, dbleps = 1e-6;
  11.   {
  12.    int order = 101;
  13.    int M = 1;
  14.    int N = 1;
  15.    int lda = 1;
  16.    float alpha = 1.0f;
  17.    float A[] = { -0.515f };
  18.    float X[] = { 0.611f };
  19.    int incX = -1;
  20.    float Y[] = { -0.082f };
  21.    int incY = -1;
  22.    float A_expected[] = { -0.565102f };
  23.    cblas_sger(order, M, N, alpha, X, incX, Y, incY, A, lda);
  24.    {
  25.      int i;
  26.      for (i = 0; i < 1; i++) {
  27.        gsl_test_rel(A[i], A_expected[i], flteps, "sger(case 1390)");
  28.      }
  29.    };
  30.   };
  31.  
  32.  
  33.   {
  34.    int order = 102;
  35.    int M = 1;
  36.    int N = 1;
  37.    int lda = 1;
  38.    float alpha = 1.0f;
  39.    float A[] = { -0.515f };
  40.    float X[] = { 0.611f };
  41.    int incX = -1;
  42.    float Y[] = { -0.082f };
  43.    int incY = -1;
  44.    float A_expected[] = { -0.565102f };
  45.    cblas_sger(order, M, N, alpha, X, incX, Y, incY, A, lda);
  46.    {
  47.      int i;
  48.      for (i = 0; i < 1; i++) {
  49.        gsl_test_rel(A[i], A_expected[i], flteps, "sger(case 1391)");
  50.      }
  51.    };
  52.   };
  53.  
  54.  
  55.   {
  56.    int order = 101;
  57.    int M = 1;
  58.    int N = 1;
  59.    int lda = 1;
  60.    double alpha = 1;
  61.    double A[] = { -0.809 };
  62.    double X[] = { -0.652 };
  63.    int incX = -1;
  64.    double Y[] = { 0.712 };
  65.    int incY = -1;
  66.    double A_expected[] = { -1.273224 };
  67.    cblas_dger(order, M, N, alpha, X, incX, Y, incY, A, lda);
  68.    {
  69.      int i;
  70.      for (i = 0; i < 1; i++) {
  71.        gsl_test_rel(A[i], A_expected[i], dbleps, "dger(case 1392)");
  72.      }
  73.    };
  74.   };
  75.  
  76.  
  77.   {
  78.    int order = 102;
  79.    int M = 1;
  80.    int N = 1;
  81.    int lda = 1;
  82.    double alpha = 1;
  83.    double A[] = { -0.809 };
  84.    double X[] = { -0.652 };
  85.    int incX = -1;
  86.    double Y[] = { 0.712 };
  87.    int incY = -1;
  88.    double A_expected[] = { -1.273224 };
  89.    cblas_dger(order, M, N, alpha, X, incX, Y, incY, A, lda);
  90.    {
  91.      int i;
  92.      for (i = 0; i < 1; i++) {
  93.        gsl_test_rel(A[i], A_expected[i], dbleps, "dger(case 1393)");
  94.      }
  95.    };
  96.   };
  97.  
  98.  
  99.   {
  100.    int order = 101;
  101.    int M = 1;
  102.    int N = 1;
  103.    int lda = 1;
  104.    float alpha[2] = {0.0f, 0.0f};
  105.    float A[] = { -0.651f, 0.856f };
  106.    float X[] = { -0.38f, -0.235f };
  107.    int incX = -1;
  108.    float Y[] = { -0.627f, 0.757f };
  109.    int incY = -1;
  110.    float A_expected[] = { -0.651f, 0.856f };
  111.    cblas_cgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
  112.    {
  113.      int i;
  114.      for (i = 0; i < 1; i++) {
  115.        gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgeru(case 1394) real");
  116.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgeru(case 1394) imag");
  117.      };
  118.    };
  119.   };
  120.  
  121.  
  122.   {
  123.    int order = 101;
  124.    int M = 1;
  125.    int N = 1;
  126.    int lda = 1;
  127.    float alpha[2] = {0.0f, 0.0f};
  128.    float A[] = { -0.651f, 0.856f };
  129.    float X[] = { -0.38f, -0.235f };
  130.    int incX = -1;
  131.    float Y[] = { -0.627f, 0.757f };
  132.    int incY = -1;
  133.    float A_expected[] = { -0.651f, 0.856f };
  134.    cblas_cgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
  135.    {
  136.      int i;
  137.      for (i = 0; i < 1; i++) {
  138.        gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgerc(case 1395) real");
  139.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgerc(case 1395) imag");
  140.      };
  141.    };
  142.   };
  143.  
  144.  
  145.   {
  146.    int order = 102;
  147.    int M = 1;
  148.    int N = 1;
  149.    int lda = 1;
  150.    float alpha[2] = {0.0f, 0.0f};
  151.    float A[] = { -0.651f, 0.856f };
  152.    float X[] = { -0.38f, -0.235f };
  153.    int incX = -1;
  154.    float Y[] = { -0.627f, 0.757f };
  155.    int incY = -1;
  156.    float A_expected[] = { -0.651f, 0.856f };
  157.    cblas_cgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
  158.    {
  159.      int i;
  160.      for (i = 0; i < 1; i++) {
  161.        gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgeru(case 1396) real");
  162.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgeru(case 1396) imag");
  163.      };
  164.    };
  165.   };
  166.  
  167.  
  168.   {
  169.    int order = 102;
  170.    int M = 1;
  171.    int N = 1;
  172.    int lda = 1;
  173.    float alpha[2] = {0.0f, 0.0f};
  174.    float A[] = { -0.651f, 0.856f };
  175.    float X[] = { -0.38f, -0.235f };
  176.    int incX = -1;
  177.    float Y[] = { -0.627f, 0.757f };
  178.    int incY = -1;
  179.    float A_expected[] = { -0.651f, 0.856f };
  180.    cblas_cgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
  181.    {
  182.      int i;
  183.      for (i = 0; i < 1; i++) {
  184.        gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgerc(case 1397) real");
  185.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgerc(case 1397) imag");
  186.      };
  187.    };
  188.   };
  189.  
  190.  
  191.   {
  192.    int order = 101;
  193.    int M = 1;
  194.    int N = 1;
  195.    int lda = 1;
  196.    double alpha[2] = {-1, 0};
  197.    double A[] = { -0.426, 0.757 };
  198.    double X[] = { -0.579, -0.155 };
  199.    int incX = -1;
  200.    double Y[] = { 0.831, 0.035 };
  201.    int incY = -1;
  202.    double A_expected[] = { 0.049724, 0.90607 };
  203.    cblas_zgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
  204.    {
  205.      int i;
  206.      for (i = 0; i < 1; i++) {
  207.        gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgeru(case 1398) real");
  208.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgeru(case 1398) imag");
  209.      };
  210.    };
  211.   };
  212.  
  213.  
  214.   {
  215.    int order = 101;
  216.    int M = 1;
  217.    int N = 1;
  218.    int lda = 1;
  219.    double alpha[2] = {-1, 0};
  220.    double A[] = { -0.426, 0.757 };
  221.    double X[] = { -0.579, -0.155 };
  222.    int incX = -1;
  223.    double Y[] = { 0.831, 0.035 };
  224.    int incY = -1;
  225.    double A_expected[] = { 0.060574, 0.86554 };
  226.    cblas_zgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
  227.    {
  228.      int i;
  229.      for (i = 0; i < 1; i++) {
  230.        gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgerc(case 1399) real");
  231.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgerc(case 1399) imag");
  232.      };
  233.    };
  234.   };
  235.  
  236.  
  237.   {
  238.    int order = 102;
  239.    int M = 1;
  240.    int N = 1;
  241.    int lda = 1;
  242.    double alpha[2] = {-1, 0};
  243.    double A[] = { -0.426, 0.757 };
  244.    double X[] = { -0.579, -0.155 };
  245.    int incX = -1;
  246.    double Y[] = { 0.831, 0.035 };
  247.    int incY = -1;
  248.    double A_expected[] = { 0.049724, 0.90607 };
  249.    cblas_zgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
  250.    {
  251.      int i;
  252.      for (i = 0; i < 1; i++) {
  253.        gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgeru(case 1400) real");
  254.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgeru(case 1400) imag");
  255.      };
  256.    };
  257.   };
  258.  
  259.  
  260.   {
  261.    int order = 102;
  262.    int M = 1;
  263.    int N = 1;
  264.    int lda = 1;
  265.    double alpha[2] = {-1, 0};
  266.    double A[] = { -0.426, 0.757 };
  267.    double X[] = { -0.579, -0.155 };
  268.    int incX = -1;
  269.    double Y[] = { 0.831, 0.035 };
  270.    int incY = -1;
  271.    double A_expected[] = { 0.060574, 0.86554 };
  272.    cblas_zgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
  273.    {
  274.      int i;
  275.      for (i = 0; i < 1; i++) {
  276.        gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgerc(case 1401) real");
  277.        gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgerc(case 1401) imag");
  278.      };
  279.    };
  280.   };
  281.  
  282.  
  283. }
  284.